Computers have become highly integrated in the workforce, in the home, in mobile devices, and many other places. Computers can process massive amounts of information quickly and efficiently. Software applications designed to run on computer systems allow users to perform a wide variety of functions including business applications, schoolwork, entertainment and more. Software applications are often designed to perform specific tasks, such as word processor applications for drafting documents, or personal information management programs for managing email, contacts and calendar.
Typically, personal information management programs are configured to support sorting contacts, emails or other items within the program. These items are usually sorted based on various user-selected criteria. The items are often sorted based on Unicode code pages. While such sorting may work for English language users, it may not be acceptable for foreign language users, as other languages may have different rules for sorting words. For example, in Danish “Aa” is considered a single letter, and in Dutch, “ij” sorts after the “y” and not between “ih” and “ik”. Such sorting may be further complicated when the personal information management program is run as an offline we application.